import pytesseract as ts
import re
import xlwt
import os
import cv2
lang='chi_sim'
#创建表格文件
book = xlwt.Workbook(encoding='utf-8',style_compression=0)
#创建一张表单
sheet = book.add_sheet('核酸',cell_overwrite_ok=True)
#表头
sheet.write(0,0,'姓名')
sheet.write(0,1,'采样地址')
sheet.write(0,2,'采样时间')
sheet.write(0,3,'采样结果')
#变量i控制写入excel表的行
i = 1
#遍历存放图片的目录./pic（当前目录的pic子目录）
for root ,dirs ,files in os.walk("./pic",topdown=False):
	for file in files:
		#img = cv2.imread("./pic/"+file,0)
        
		img_fn = "./pic/"+file
		print(f'{img_fn}')
		img = cv2.imread(img_fn,0)
		cv2.imwrite('gray-bin.jpg',img)
		
		text=ts.image_to_string(img,lang)
		arry1 = re.findall(r"姓 名 (.*)",text)
		arry2 = re.findall(r"采 样 点 :  (.*)",text)
		arry3 = re.findall(r"采 样 时 间 ,(.*)",text)
		arry4 = re.findall(r"检 测 结 果 :(.*)",text)
		if len(arry1): #判别列表是否为空，由于图片清晰度等原因，造成识别不出。
			sheet.write(i,0,arry1[0].strip())
		if len(arry2):
			sheet.write(i,1,arry2[0].strip())
		if len(arry3):
			sheet.write(i,2,arry3[0].strip())
		if len(arry4):
			sheet.write(i,3,arry4[0].strip())
		i = i+1
savepath='./c.xls'
book.save(savepath)
